package com.mes.cloud.dao;

import com.mes.cloud.dto.BmeBcFiledDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
* <BC_Filed基础表>
*
* @author  xhy
* @date    2019/05/09 16:00
* @version 1.0
*/
@Mapper
@Repository
public interface BmeBcFiledDAO {

    /**
     * 根据条件获取BC_Filed基础表列表
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param  condition
     * @return JSONResult
    */
    List<BmeBcFiledDTO> getBmeBcFiledList(Map<Object, Object> condition);


    /**
     * 获取BC_Filed基础表的最大记录数
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param condition
     * @return long
    */
    long getBmeBcFiledCount(Map<Object, Object> condition);

    /**
    * 新增BC_Filed基础表
    *
    * @author xhy
    * @date   2019/05/09 16:00
    * @param  bmeBcFiledDTO
    * @return long
    */
    long insertBmeBcFiled(BmeBcFiledDTO bmeBcFiledDTO);

    /**
    * 更新BC_Filed基础表
    *
    * @author xhy
    * @date   2019/05/09 16:00
    * @param  bmeBcFiledDTO
    * @return long
    */
    long updateBmeBcFiled(BmeBcFiledDTO bmeBcFiledDTO);

    /**
    * 删除BC_Filed基础表
    *
    * @author xhy
    * @date   2019/05/09 16:00
    * @param  id
    * @return long
    */
    long delBmeBcFiledById(String id);

    /**
    * 根据BC_Filed基础表标识获取BC_Filed基础表
    *
    * @author xhy
    * @date   2019/05/09 16:00
    * @param  id
    * @return BmeBcFiledDTO
    */
    BmeBcFiledDTO getBmeBcFiledById(String id);
    /**
     * 对BC_Filed基础表标进行批量删除操作
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param  list
     * @return long
     */
    long batchDelete(@Param("list") List<Long> list);
    /**
     * 对BC_Filed基础表标进行批量插入操作
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param  list
     * @return long
     */
    long batchInitFiled(@Param("list") List<BmeBcFiledDTO> list);
    /**
     * 对BC_Filed是否启用
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param  map
     * @return long
     */
    long enable(Map<Object, Object> map);
    /**
     * 删除BC_Filed基础表根据pid
     *
     * @author xhy
     * @date   2019/05/09 16:00
     * @param  pid
     * @return long
     */
    long delBmeBcFiledByPid(String pid);
    /**
     * 导出
     * @param paramList
     * @return
     */
    int insertExcel(@Param("paramList") List<BmeBcFiledDTO> paramList);

    List<Map> getBcFiledList(@Param("pid") String bcId);
}

